MPICC   = mpicc.openmpi
MPIEXEC = mpiexec.openmpi
CFLAGS += -Wall

EJECUTABLE = tp3

.PHONY : all new clean run

all : $(EJECUTABLE) run

tp3 : tp3.c srv.c
	$(MPICC) $(CFLAGS) -o tp3 tp3.c srv.c

run : tp3
	$(MPIEXEC) -np 2 ./$(EJECUTABLE)  '.' 500 500 1 500 500 >/dev/null
	
caso1: tp3
	#mientras 'a' este en su seccion critica, 'b' y 'c' entraran al mismo tiempo a pedir el mutex.
	$(MPIEXEC) -np 6 ./$(EJECUTABLE) 'a' 100 100 5 0 300 'b' 100 200 5 0 200 'c' 100 200 5 0 200 >/dev/null
	
caso2: tp3
	#mientras 'a' este en su seccion critica, 'b', 'c' y 'd' entraran al mismo tiempo a pedir el mutex.
	$(MPIEXEC) -np 6 ./$(EJECUTABLE) 'a' 100 100 5 0 300 'b' 100 200 5 0 200 'c' 100 200 5 0 200 'd' 100 200 5 0 200 >/dev/null
	
caso3: tp3
	#
	$(MPIEXEC) -np 6 ./$(EJECUTABLE) 'a' 100 100 5 0 300 'b' 100 100 5 0 300 'c' 100 100 5 0 300 'd' 100 100 5 0 300 'e' 100 100 5 0 300 'f' 100 100 5 0 300 'g' 100 100 5 0 300 >/dev/null

clean :
	rm -f $(EJECUTABLE)

new : clean all
